import webStorage from "../config/webStorage.js";

/***
 * 公共方法，提供一些公共的方法。
 */

export class common {
    constructor() {
    }
    // 保留2位小数
    static toDecimal2(x) {
        let f = parseFloat(x);
        if (isNaN(f)) {
            return false;
        }
        f = Math.round(x * 100) / 100;
        let s = f.toString();
        let rs = s.indexOf('.');
        if (rs < 0) {
            rs = s.length;
            s += '.';
        }
        while (s.length <= rs + 2) {
            s += '0';
        }
        return s;
    }

    // map变list数组的方法
    static mapToArr(data) {
        var Arrs = [];
        for (let j in data) {
            Arrs.push(data[j]);
        }
        return Arrs;
    }

// 数组里包json，按照数组里的json的key值排序封装
// arr：需要排序的数组
// sortValue：按照数组里的json的key值，最好是数字
// sort：排序规则，0：不排序 正数：正序 负数：倒序
    static arrSort(arr, sortValue, sort) {
        arr.sort(compareFn(sortValue, sort));
        return arr;
    }

    //秒值转换成日期
    static secondsToDate(times){
        let time = new Date(parseInt(times)*1000);
        // let time = new Date(timestamp)
        let year = time.getFullYear()
        const month = (time.getMonth() + 1).toString().padStart(2, '0')
        const date = (time.getDate()).toString().padStart(2, '0')
        const hours = (time.getHours()).toString().padStart(2, '0')
        const minute = (time.getMinutes()).toString().padStart(2, '0')
        const second = (time.getSeconds()).toString().padStart(2, '0')
        return year + '-' + month + '-' + date + ' ' + hours + ':' + minute + ':' + second
        // return date.toLocaleString('chinese',{hour12:false});
    }
    //秒值转换成时间
    static secondsToTime(value){
        let secondTime = parseInt(value);// 秒
        let minuteTime = 0;// 分
        let hourTime = 0;// 小时
        if(secondTime > 60) {//如果秒数大于60，将秒数转换成整数
            //获取分钟，除以60取整数，得到整数分钟
            minuteTime = parseInt(secondTime / 60);
            //获取秒数，秒数取佘，得到整数秒数
            secondTime = parseInt(secondTime % 60);
            //如果分钟大于60，将分钟转换成小时
            if(minuteTime > 60) {
                //获取小时，获取分钟除以60，得到整数小时
                hourTime = parseInt(minuteTime / 60);
                //获取小时后取佘的分，获取分钟除以60取佘的分
                minuteTime = parseInt(minuteTime % 60);
            }
        }
        let result = "" + parseInt(secondTime) + "秒";

        if(minuteTime > 0) {
            result = "" + parseInt(minuteTime) + "分" + result;
        }
        if(hourTime > 0) {
            result = "" + parseInt(hourTime) + "小时" + result;
        }
        return result;
    }
    static logout() {
        webStorage.localClear();
        location.reload()
    }
}
function compareFn(prop, order) {
    return function (obj1, obj2) {
        let val1 = obj1[prop];
        let val2 = obj2[prop];
        if (!isNaN(Number(val1)) && !isNaN(Number(val2))) {
            val1 = Number(val1);
            val2 = Number(val2);
        }
        if (val1 < val2) {
            return -order;
        } else if (val1 > val2) {
            return order;
        } else {
            return 0;
        }
    }
}
